This invention relates to communication systems, and more specifically to communication systems in which the data is encoded.
Communications systems have become ubiquitous, and their capabilities increase daily. A major problem with communications systems is that the bandwidth of the channels available in certain locations is limited, and the projected usage is great. This is particularly true in the case of spacecraft-based communications systems, because they provide what may be the only service to certain regions of the world.
Unfortunately, communications systems are subject to noise, which tends to destroy some of the data bits, or at least makes their decoding subject to errors. For a given channel bandwidth and power, there is compromise between bits which are used for transmitting data and bits which are used for error detection and/or correction. The addition of more information bits per unit time necessarily decreases the number of error detection and correction bits which can be transmitted with the data bits, so as the data throughput increases, the error rate also increases.
Channel coding is useful for attaining reliable voice communication in low-received-power environments, such as portable satellite communications transceivers. In general, error control coding reduces the number of data bits which can be transmitted, and so tends to degrade the underlying uncorrected transmission. Thus, there is a fundamental tradeoff between the number of bits allocated to data and the number allocated to error control coding when the data rate of the channel is the limiting factor. Increasing the number of data bits decreases the number of error control code bits, and the channel transmission will be more natural, but more subject to errors due to channel noise. On the other hand, if the number of data bits is too much reduced, and the error control bits increased, the channel transmission will be more reliable, but the data throughput will be reduced.
Some other tradeoff for improving the channel performance is desired.
According to an aspect of the invention, additional information, not previously used in the inventive manner is used to improve the decoding, without increasing the channel overhead; this information is that associated with certain correlations among the bits of the transmitted data. More particularly, a method according to the invention for decoding data organized into frames, where the data is encoded by a finite-state data encoder for transmission over a data channel, includes the step of procuring a table of joint statistics representing the probability of occurrence, in a frame of data encoded by the type of data encoder being used, of each of the bits of the frame for a representative set of source data, given that the corresponding bit in the adjacent frame has a particular logic level. In a particular method used in vocoder applications, the joint statistics are determined ahead of time, and the representative set of source data is a representative set of speakers and or a representative set of spoken matter; the joint statistics may be stored for later use. The method includes the further step of calculating gamma in response to a source probability distribution signal, to thereby produce gamma signals. The gamma signal is an intermediate signal generated in particular types of data decoders, for use in generation of bit state probabilities, where the bit state is either a 0 or a 1 for binary data. The joint statistics source distribution signals represent the likelihood that, for a given state of the preceding bit, the xe2x80x9ccurrentxe2x80x9d bit, namely that one which is currently being evaluated, takes on a particular state; for uncorrelated bits, this value is 0.5. From the gamma signals, state probability signals and transition probability signals are generated, with the state probability signals representing the probability that the finite-state encoder was in a given state at the time at which the bit currently being evaluated was generated, and the transition probability signals representing the probability of traversing a given pair of states, where the two states are separated by one transition interval. The state probability and transition probability signals are processed to produce bit probability signals indicative of the probability that the current bit is in a given state. The method includes the further step of generating the joint statistics source distribution signal in response to the bit probability signals and the values in the table of joint statistics. The joint statistics source distribution signal is used as the source probability signal for the subsequent frame of data. The joint statistics source distribution signals will have values other than 0.5 in those cases in which the source data is correlated, and the use of joint statistics source distribution signals which approximate the actual probability provides improved decoding performance.
In a preferred mode of the method according to the invention, absolute statistics source distribution signals are also generated, representing the probability of occurrence, in a frame of data encoded by the type of data encoder being used, of each of the bits of the frame, for a representative set of source data.
In a particular method used in vocoder applications, the absolute statistics are also determined ahead of time, and the representative set of source data corresponds to that used to generate the joint statistics.
As with the joint statistics, the absolute statistics may be stored for later use. According to a further aspect of the invention, the step of calculating the gamma signals is responsive to both the joint statistics source distribution signals and to the absolute statistics source distribution signals. In a particular embodiment of the invention, the calculation of the gamma signals is performed using the joint statistics source distribution signals during some intervals, and using the absolute statistics source distribution signals during other intervals.